package com.mcxx.modules.temporary.fundpay.dao.read;

import com.mcxx.modules.miniSalvation.fundpay.dto.FundPayDTO;
import com.mcxx.modules.miniSalvation.fundpay.dto.TempFundPayExcelDto;
import com.mcxx.modules.miniSalvation.fundpay.entity.FundPayStatusEntity;
import com.mcxx.modules.miniSalvation.fundpay.param.FundPayParam;
import com.mcxx.modules.temporary.fundpay.dto.TmpFundPayDTO;
import com.mcxx.modules.temporary.fundpay.entity.TmpFundPayEntity;
import com.mcxx.modules.temporary.fundpay.param.TmpFundPayParam;
import com.yinhai.ta404.module.mybatis.mapper.Ta404SupportMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface TmpFundPayReadDao extends Ta404SupportMapper {


	List<TmpFundPayEntity> listAll(TmpFundPayDTO temporaryFundPayDTO);


	List<TmpFundPayEntity> listByCondition(TmpFundPayParam param);


	Integer isExistsFundPay(@Param("sendMonth")String sendMonth,  @Param("areaCode")String areaCode,@Param("payType")String payWay);


	TmpFundPayEntity getById(String id);


	int getFundPayNum(String payWay, String areaCode, String payDate, String status);


	List<String> verifyStatus(List<String> idList, String status);


	List<String> verifyStatusList(List<String> idList, List<String> statusList);


	Map<String, String> getTmpFundPayCount(TmpFundPayParam fundPayDTO);


	List<String> getIdByIdsAndStates(List<String> fundPayIdList, List<String> stateList);


	List<String> getIdByIdsAndState(List<String> fundPayIdList, String state);


	List<FundPayStatusEntity> getTmpFundpayCreate(String areaCode, String month, String preMonth);


	List<TmpFundPayEntity> getTmpFundPayByMonth(String areaCode, String month);

	String cntFundPay(FundPayDTO fundPayDTO);

	List<TempFundPayExcelDto> exportExcelTempFundPay(FundPayParam param);

    List<FundPayStatusEntity> getTmpFundPayCreateInfo(String areaCode, String payDate);
}
